

package padraocomposite;

import java.util.List;


public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        CaixadeJoia ferro = new CaixadeJoia("ferro");
        CaixadeJoia madeira = new CaixadeJoia("madeira");
        CaixadeJoia ouro = new CaixadeJoia("ouro");
        ouro.addComponent(new Joia("diamante"));
        madeira.addComponent(new Joia("safira"));
        madeira.addComponent(new Joia("esmeralda"));
        madeira.addComponent(ouro);
        ferro.addComponent(new Joia("ametista"));
        ferro.addComponent(new CaixadeJoia("prata"));
        ferro.addComponent(madeira);
        ferro.addComponent(new Joia("ruby"));



        System.out.println("Vamos ver o que há dentro desta grande caixa de ferro:");
        mostrarCoisas(ferro);
        
    }


    public static void mostrarCoisas(CaixadeJoia caixa){
        System.out.println("Estamos em:");
        System.out.println(caixa.descricao());
        System.out.println("O que tem dentro?");
        List<Component> lista = caixa.lista;
        if(lista.size() == 0){
            System.out.println("Não há nada dentro desta caixa");
        }
        for(int i=0; i < lista.size(); i++){
            System.out.println(lista.get(i).descricao());
        }
        for(int i=0; i < lista.size(); i++){
            if(lista.get(i).getClass() == CaixadeJoia.class){
                System.out.println("Vamos ver então o que há nessa "+lista.get(i).descricao());
                mostrarCoisas((CaixadeJoia) lista.get(i));
            }
        }
    }

    

}
